package provider.impl.coalescent.me;

import coalescent.data.K69Data;
import coalescent.model.K69;
import coalescent.provider.Providers;
import commons.core.ModelEstimator;
import commons.provider.ProviderException;
import commons.provider.impl.BaseDataBasedProviderImpl;

/**
 * @author Susanta Tewari
 * @version version
 * @history Created on 2/10/13
 * @since 1.4.0
 */
public class MEProviderImpls {

    /**
     * @version version
     * @since 1.4.0
     * @history Created on 02/10/2013
     * @author Susanta Tewari
     */
    public static class K69MEProvider_WATTERSON
            extends BaseDataBasedProviderImpl.BaseModelEstimatorProviderImpl<K69, K69Data>
            implements Providers.K69EstimatorProvider {

        @Override
        protected ModelEstimator<K69, K69Data, K69Data, ?> createImpl(final K69Data data)
                throws ProviderException {
            return new K69Estimator_Watterson(data);
        }

        @Override
        public Class<K69Data> getDataClass() {
            return K69Data.class;
        }

        @Override
        public Class<K69> getModelClass() {
            return K69.class;
        }
    }
}
